#!/usr/bin/env python
# -*- coding: utf-8 -*-
# SSH客户端会话生成工具主程序

import sys
import tkinter as tk
import logging
import os
from datetime import datetime
from gui import SessionGeneratorGUI
import cli

def setup_logging():
    """配置日志系统"""
    # 创建logs目录
    if not os.path.exists('logs'):
        os.makedirs('logs')
        
    # 设置日志文件名（使用当前日期时间）
    log_file = os.path.join('logs', f'session_generator_{datetime.now().strftime("%Y%m%d_%H%M%S")}.log')
    
    # 配置日志
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        handlers=[
            logging.FileHandler(log_file, encoding='utf-8'),
            logging.StreamHandler()
        ]
    )
    
    logging.info("日志系统初始化完成")
    return log_file

def main():
    """主函数"""
    # 配置日志
    log_file = setup_logging()
    
    try:
        # 检查是否有命令行参数
        if len(sys.argv) > 1:
            # 命令行模式
            logging.info("以命令行模式启动")
            cli.main()
        else:
            # 图形界面模式
            logging.info("以图形界面模式启动")
            root = tk.Tk()
            app = SessionGeneratorGUI(root)
            root.mainloop()
    except Exception as e:
        logging.error(f"程序运行异常: {e}", exc_info=True)
        print(f"程序发生错误，详细信息已记录到日志文件: {log_file}")

if __name__ == "__main__":
    main() 